概述#
--system-prompt-file 标志允许您从文件中加载自定义的系统提示,而不是直接在命令行中输入。这对于复杂的系统提示、需要版本控制的提示,或者需要在不同项目间共享的提示特别有用。
基本语法#
bash
使用场景#
1. 复杂系统提示#
当您的系统提示非常长或包含多个部分时,使用文件可以更好地组织内容:
bash
2. 项目特定的系统提示#
为不同的项目创建专门的系统提示文件:
bash
3. 版本控制系统提示#
将系统提示文件纳入版本控制,便于团队协作和历史追溯:
bash
4. 多语言系统提示#
为不同语言创建专门的系统提示文件:
bash
高级用法#
1. 与其他标志组合使用#
bash
2. 管道输入配合使用#
bash
3. 环境变量指定文件路径#
bash
4. 动态生成系统提示文件#
bash
文件格式建议#
1. 结构化提示#
text
最佳实践#
1. 文件组织#
推荐的目录结构
text
2. 文件命名约定#
- 使用描述性名称:
python-expert.txt而不是prompt1.txt - 包含版本信息:
code-reviewer-v2.txt - 使用小写和连字符:
security-auditor.txt而不是SecurityAuditor.txt
3. 文档化提示#
在每个提示文件的开头添加注释:
text
4. 版本控制#
bash
常见问题#
Q1: 系统提示文件支持哪些格式?#
A: 支持纯文本格式(.txt, .md)。建议使用 .txt 或 .md 格式,便于编辑和版本控制。
Q2: 文件路径可以是相对路径吗?#
A: 可以。支持相对路径和绝对路径。相对路径是相对于当前工作目录。
Q3: 文件不存在会发生什么?#
A: Claude 会报错并提示文件不存在。请确保文件路径正确。
Q4: 可以使用环境变量吗?#
A: 可以。在命令行中使用环境变量:claude --system-prompt-file "$MY_PROMPT_FILE"
Q5: 与 --system-prompt 有什么区别?#
A: --system-prompt 直接在命令行中指定提示,适合简单的提示;--system-prompt-file 从文件加载,适合复杂、需要版本控制或共享的提示。
示例:完整的提示文件#
text
总结#
--system-prompt-file 标志提供了一种灵活、可维护的方式来管理复杂的系统提示。通过使用文件,您可以:
- 更好地组织和版本控制提示
- 在不同项目和团队间共享提示
- 创建特定领域的专家提示
- 动态生成和调整提示
建议为常用的场景创建专门的提示文件,并将其纳入版本控制系统,以提高工作效率和团队协作效果。